<?php

use Nette\Application\UI\Form;

/**
 * Contact presenter.
 */
class ContactPresenter extends BasePresenter
{
    private $prodId;
    public function createComponentContactForm()
    {
        $form = new Form();
        $form->addText('name', 'Jméno:');
        $form->addText('phone', 'Telefon:');
        $form->addText('email', 'Váš e-mail:')->setRequired("Vyplňte, prosím, e-mail")->addRule(Form::EMAIL, 'E-mail má chybný formát');
        $form->addText('subj', 'Předmět:')->setRequired("Vyplňte, prosím, předmět");
        $form->addTextArea('msg', 'Zpráva:')->setRequired("Vyplňte, prosím, text zprávy");
        $form->addSubmit('send', 'Odeslat');
        if ($this->prodId !== NULL)
        {
            $product = WDB\Wrapper\TableFactory::fromName('products')
                ->getDatasource()
                ->select('name')
                ->filter(array('id_product'=>$this->prodId))
                ->run()
                ->singleValue();
            $form->setDefaults(array('subj'=>'Objednávka', 'msg'=>"Objednávám produkt \"{$product}\".
                
Počet kusů:
            
Adresa:"));
        }
        $form->onSuccess[] = callback($this, 'contactFormSubmitted');
        return $form;
    }
    
    public function renderDefault($prodId = NULL)
    {
        $this->prodId = $prodId;
        if (!isset($this->template->message))
        {
            $this->template->message = '';
        }
    }
    
    public function contactFormSubmitted(Form $form)
    {
        $this->template->message = 'Děkujeme za odeslání zprávy.';

        $message = $form->values->msg;
        $message .= "\r\n\r\n-----------------------------------------------------\r\nOdesláno z webu stucmi.cz ".date('j.n.Y G:i')."
Informace o odesílateli:
Jméno: {$form->values->name}
E-mail: {$form->values->email}
Telefon: {$form->values->phone}";
        
            $from = trim($form->values->name) == '' ? $form->values->email : $form->values->name.' <'.$form->values->email.'>';
        $mail = new Nette\Mail\Message;
        $mail->setFrom($from)
            ->addTo('info@stucmi.cz')
            //->addCc('stuchlik@centrum.cz')
            ->setSubject($form->values->subj)
            ->setBody($message)
            ->send();
            }

}
